package exception;

/**
 * throw关键字
 * throw用来主动对外抛出一个异常 通常下面两种场景我们会对外抛出异常
 * 1:程序遇到一个满足语法但不满足业务逻辑的场景时可以对外抛出异常
 * 2:程序执行出现了一样 但是该异常不应当在当前代码片段被解决时可以对外抛出异常
 *
 * @author Luka
 * @date 2021/06/02 09:16
 **/
public class ThrowDemo {
    public static void main(String[] args) throws Exception {
        Person p = new Person();
        /*
            程序正常执行(满足语法),不满足业务场景
         */
        /*
            当我们调用一个含有throws生命异常抛出的方法时,编译器要求
            我们必须处理这个异常,否则编译不通过
            处理异常的手段有两种:
            1:try-catch捕获并处理
            2:在当前方法上继续使用throws生命该异常的抛出给上级调用
            者具体使用哪种取决于异常处理的责任问题
         */
        try {
            p.setAge(10000);
        } catch (IllegalAgeException e) {
            e.printStackTrace();
        }
        System.out.println("这人年龄"+p.getAge());
    }
}